package com.wpp;

import org.junit.Test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;

/*
 * ORM编程思想(object relational mapping)
 *   一个数据表对应一个Java类
 *   表中的一条记录对应java类的一个对象
 *   表中的一个字段对应java类的一个属性
 *
 *
 *
 *
 *
 *
 * */
public class QuerySql {

    /*查询数据库*/
    @Test
    public void test() throws Exception {
        //获取连接
        Connection connection = JDBCUtils.getConnection();

        //预编译sql
        String sql = "select name,age from books where id = ?";
        PreparedStatement preparedStatement = connection.prepareStatement(sql);

        preparedStatement.setInt(1, 2);
        //执行，返回一个结果集
        ResultSet resultSet = preparedStatement.executeQuery();
        ResultSetMetaData metaData = resultSet.getMetaData();
        System.out.println(metaData);
        System.out.println("---------------------------------");
        //遍历结果集，用next()，类似于hasnext()，首先判断有没有数据，有就返回true，并且指针下移
        if (resultSet.next()) {
            String name = resultSet.getString(1);
            int age = resultSet.getInt(2);
        }

        //关闭流
        JDBCUtils.closeResource(connection, preparedStatement);
    }
}
